package com.yichat.micro.msghttpservice.common.vo;

import lombok.*;

import java.io.Serializable;

/**
 * Created by chenmohan on 2019/03/27
 *
 * @description 这个类用于接受上游服务的http发送请求传参
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class MsgHttpRequestVo implements Serializable {

    private String method;

    private String header;

    private String url;

    private String mediaType;

    private String callback;

    private String data;

    private String list;

    protected Long timeout;

    private Integer reTry;

    private Integer mustTry;

    /**
     * 业务字段,该字段不会被service处理,直接回传给调用方
     */
    private String buz;

    /**
     * 是否异步处理这次http请求
     */
    private Integer sync;

    /**
     * 请求的远端服务返回的结果,该字段用于匹配返回的结果,是否符合调用方的预期(符合表示本次请求成功,否则会执行重试操作)
     */
    private String reqResult;

    /**
     * 重试时长的乘数,该字段值大于1时,每次请求失败的重试间隔(用timeout * retryMultiplier)会越来越长
     */
    private Integer retryMultiplier;

    /**
     * 当"data"字段不为空的时候,该字段表示 批量请求中的某次请求失败后,是否还继续请求
     */
    private Integer failedContinue;

}
